The present invention relates generally to wireless devices, and more specifically to time synchronization between wireless devices and access points.
Many low-power wireless devices conserve power by sleeping much of the time, and waking only occasionally to perform operations or send or receive data. In these situations, messages from a device node are conventionally buffered at wireless access points, and relayed to recipient wireless devices when those devices wake. IEEE 802.11 standard access points, for instance, typically transmit periodic beacon messages indicating whether buffered messages are waiting for a recipient wireless device.
Wireless devices intended to operate on minimal power commonly wake at a “heartbeat” interval to transmit and/or receive messages. This heartbeat interval can be several minutes long. Upon the elapse of each heartbeat interval, the wireless device transmits a heartbeat message to a device node such as a central server via the access point, then enters a short-term sleep mode until the next scheduled beacon transmission from the access point. The wireless device wakes in time to hear a beacon from the access point, requests and receives any buffered messages, and then sleeps for another heartbeat interval.
Wireless devices conventionally schedule wakeup times according to their own clocks. To receive a beacon, a transceiver of the wireless device must remain powered, consuming energy. Conventional systems usually use a constant heartbeat interval as determined by to a local clock of the wireless device, and provide a margin preset according to the maximum possible clock drift expected over the course of a heartbeat interval. The IEEE 802.11 standard allows a maximum clock discrepancy of 0.02%. Desynchronization of this magnitude can necessitate large energy expenditures for powering wireless device transceivers while waiting for a beacon transmission. A heartbeat interval of five minutes, for example, is conventionally allowed a maximum drift of 60 ms, such that the wireless device transceiver might remain powered for 60 ms every 5 minutes while waiting for a beacon, resulting in significant energy expenditure, and correspondingly shortening battery life when compared to a intelligent wake-up mechanism in which the transceiver is well synchronized and need remain powered for much lesser than 60 ms. Depending on the available battery capacity and the device activations, this might reduce battery life by up to several years. For wireless devices intended to operate for long periods on battery power, such battery depletion is not ideal.
Many IEEE 802.11 access points also monitor networked wireless devices for continued activity. If a predefined linkup interval elapses without activity from a networked wireless device, the wireless device is dissociated from the access point's network. By one common method, each wireless device periodically transmits linkup messages in order to remain associated with the access point. The length of the linkup interval—the period between linkup messages—is based on the device's local clock and is usually a constant.
Messages from wireless devices can be corrupted during transmission, sometimes necessitating retransmissions. A wireless device transmission made too close in time before a beacon transmission, where the wireless device transmission is followed immediately by going to sleep, may not allow sufficient time for recipient device nodes to respond before the wireless device wakes to listen for an expected response. When this occurs, the wireless device must either remain awake to receive two beacons, or enter short-term sleep and wake to listen to the second beacon, in either case expending additional power.